Automated systems have been developed to control various devices or pieces of equipment in a service or production environment, such as an information services center or a manufacturing facility. In one such equipment control system, a variety of software programs or applications are provided for controlling a number of connected devices. Each program or application may support specific control functions which differ from functions supported by other programs and applications. When executed, the programs and applications cooperate to receive, forward, generate, and/or process information to instruct, command, order, manage, or otherwise control the devices. In order to execute these software programs or applications, code associated with the programs and applications must be stored into a hardware memory of the equipment control system.
Typically, the demands placed on such an equipment control system vary over time as the devices being controlled communicate with the system to receive information from and transmit information to the system. For any given moment, it is desirable to execute a sufficient number of programs or applications to support the effective control of the various devices. Previously, this was accomplished by determining the maximum functionality that would be required of the equipment control system during its operation, and storing into memory all of the code necessary to support this maximum functionality. When all code was simultaneously stored into memory, however, such an equipment control system operated inefficiently because less memory was available for other needs of the system.